package main

import "fmt"

func main() {
	// arithmetic
	a := 2
	b := 3
	fmt.Println(a+b,a-b,a*b,a/b,a%b)
	a++
	b--
	fmt.Println(a,b)
	// relational
	fmt.Println(a == b,a != b,a > b,a < b,a >= b,a <= b)
	// logical
	j1,j2:=true,false
	fmt.Println(j1 && j2,j1 || j2,!j1,!j2)
	// bitwise
	fmt.Println(a&b,a|b,a^b,a<<1,b>>1)
	// assignment
	a=3
	fmt.Print(a," ")
	a+=1
	fmt.Print(a," ")
	a-=2
	fmt.Print(a," ")
	a*=2
	fmt.Print(a," ")
	a/=2
	fmt.Print(a," ")
	a%=3
	fmt.Print(a," ")
	a>>=1
	fmt.Print(a," ")
	a<<=1
	fmt.Print(a," ")
	a&=2
	fmt.Print(a," ")
	a|=3
	fmt.Print(a," ")
	a^=5
	fmt.Print(a," ")
	fmt.Println()
}